Code Co-op Tutorial
RS

Go to Reliable Software Home Page

The Code Co-op
Distributed Version Control System

Tutorial

In a nutshell, our version control system lets you create a project to safekeep your source files. Once the project is created, other developers, wherever they are, may join the project. When you no longer want to be a member of a project, you defect from it. (You can also branch a project.)

You can add an existing file or create a new file in the project.

Most of the time you work on editing files that are already in the project. You do it with your favorite editor or development environment. You'll notice that files in your project are made read-only by co-op. Just keep your co-op running and minimized, so that at any point in time you'll be able to check files out—which makes them read-write and ready for changes.

Once you're done making changes, you check in the changed files and the system creates a differential script of changes. You e-mail this script to all the other members of the project.

When you get a script from somebody else, you synchronize your project with it. The changes proposed by the script appear in your project directory. You can review the changes and accept them by performing the accept synch operation.

The co-op also let's you rename files and folders, move files between folders, as well as delete them—all under strict version control.

Sometimes the changes you receive are in conflict with the changes you made. The version control system helps you resolve such conflicts by rejecting some scripts or merging the conflicting changes.

It is important that you don't by-pass Code Co-op when you make changes to project files or folders. Don't edit files that are not checked out (by changing their read-only attribute). Don't rename or move files using external applications (e. g., the shell explorer), even if they are checked-out. Always perform rename and move using Code Co-op.

In return you can expect that Code Co-op will preserve the integrity of your project even if the power goes down in the middle of an operation (provided, of course, your file system is robust enough to recover from such a disaster).

User Interface


File Area:

Toolbar buttons correspond to the following commands, from left to right,

  • Check out selected files.
  • Check out all files in the current folder.
  • Restore selected files to their pre-check-out state.
  • Create a new file in the project.
  • Add selected files and folders to the project.
  • View file (also available by double-clicking on a file).
  • Delete selected files.
  • Cut selected files (in preparation for move)
  • Paste files (to finish move)
  • Folder-up (folder-down is available by double-clicking on a folder).
  • Refresh
Some buttons are enabled only when files are selected.
Tabs correspond to various co-op database areas.
  • File area. Here you can view files and folders that are in the project tree (not necessarily added to the project). This area corresponds to the file-system view of the project tree.
  • Check-in area. This is where all the checked-out, deleted and new files go before being checked-in. Double clicking on a file in this area shows the differences between the current state of the file and the state from before the check-out. You can see what changes you've made so far.
    Check-in area
    The first button, "check-in all", is the most used one. In some situations, when you want to do a partial check-in, you can use the second, "check-in selected", button.
  • Mailbox is where you can see all the synch scripts—incoming and outgoing. This is where you do the synchronization by unpacking scripts. Scripts that are next to be unpacked have distinct icons. This area corresponds to the OutBox and InBox folders in the file system.
    Mailbox
    The first button (grayed in this picture) is used to unpack the next message and perform the synch.
  • Synch Area is where you can examine the results of synchronization. You can look at the files that were changed by the synch. Double clicking shows the differences between the new version and the old version. This is where you perform the code review. Once you are done with reviewing the changes, you accept the synch and continue.
    Synch area
    "Accept Synch All" is the most common operation in the synch area—that's the first button. "Accept Synch Selected" follows it. Notice also the check-out buttons. You can do the "pre-emptive check-out" if you don't like some of the proposed changes.
  • History is the repository of all executed scripts in the order in which they were applied to the project. Your scripts, generated during check-ins, are also shown there.
    History area
What do you think of our product? Would you recommend it to other programmers? Send us feedback. We'll read it!